// 1.引入依赖
import Vue from "vue"
import Vuex from "vuex"
import { getProducts } from "./api/shop"
Vue.use(Vuex);//安装vuex到vue上

// 2.初始化仓库
const store = new Vuex.Store({
  state: {
    products: getProducts(),// 产品列表的数据
    carts: [],// 购物车的数据
  },
  // 同步的操作
  mutations: {
    addToCarts: function (product) {
      //将产品加入到购物小车中
      // state.carts.push(product);
      // 商品的判断
      // 1. 先判断商品在购物小车中是否存在
      // a.1 存在 num++
      // a.2 不存在 cart.num = 1
      let index = state.carts.findIndex((cart,index)=>{
        if(cart.id===product.id){
          // 说明已经存储过该产品
          return true;
        }
      });
      if(index!=-1){
        // 给已经加购的产品数量加1
        state.carts[index].num++;
      }else {
        let cart = JSON.parse(JSON.stringify(product));
        cart.num =1;
        state.carts.push(cart);
      }
    }
  },
  actions: {},
  getters: {},
  modules: {}
})
export default store;